home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / m17n / TAML-OTF.flt < prev    next >
Text File  |  2009-04-29  |  3KB  |  112 lines

  1. ;; TAML-OTF.flt -- Font Layout Table for Tamil OpenType fonts
  2. ;; Copyright (C) 2004, 2006, 2007  AIST (H15PRO112)
  3. ;; See the end for copying conditions.
  4.  
  5. (font layouter taml-otf nil
  6.       (font (nil nil unicode-bmp :otf=taml=akhn)))
  7.  
  8. ;;; <li> TAML-OTF.flt
  9. ;;;
  10. ;;; For Tamil OpenType fonts to draw the Tamil script.
  11.  
  12. (category
  13.  ;; C: consonant
  14.  ;; H: HALANT
  15.  ;; m: vowel sign (pre)
  16.  ;; u: vowel sign (above)
  17.  ;; b: vowel sign (below)
  18.  ;; p: vowel sign (post)
  19.  ;; X: generic
  20.  (0x0B80 0x0BFF    ?X)            ; generic
  21.  (0x0B95 0x0BB9 ?C)            ; LETTER KA .. HA
  22.  (0x0BBE 0x0BBF    ?p)            ; VOWEL SIGN AA .. I
  23.  (0x0BC0    ?u)            ; VOWEL SIGN II
  24.  (0x0BC1 0x0BC2    ?b)            ; VOWEL SIGN U .. UU
  25.  (0x0BC6 0x0BC8    ?m)            ; VOWEL SIGN E .. AI
  26.  (0x0BCD    ?H)            ; SIGN VIRAMA
  27.  (0x0BD7    ?p)            ; AU LENGTH MARK
  28.  (0x0964 0x0965    ?X)            ; DANDA .. DOUBLE DANDA
  29.  (0x200C    ?N)            ; ZWNJ
  30.  )
  31.  
  32. ;; Preprocessing.
  33. (generator
  34.  (0
  35.   (cond
  36.    ;; Decompose two-part vowel signs.
  37.    ((0x0BCA)
  38.     0x0BC6 0x0BBE)
  39.    ((0x0BCB)
  40.     0x0BC7 0x0BBE)
  41.    ((0x0BCC)
  42.     0x0BC6 0x0BD7)
  43.    ;; A variation of AU.
  44.    ((0x0B92 0x0BD7)
  45.     0x0B94)
  46.    ;; TAMu and TSCu fonts generate the SRI ligature with 'akhn'.
  47.    ;; (lohit and latha do it with 'half' + 'abvs'.)
  48.    ((0x0BB8 0x0BCD 0x0BB0 0x0BC0)
  49.     otf:taml=akhn+)
  50.    ("." =))
  51.   *))
  52.  
  53. ;; Syllable identification.
  54. (generator
  55.  (0
  56.   (cond
  57.    ;; A syllable with vowel signs.
  58.    ("((CH)*C)(mp?|b|u|p)"
  59.     < | (1 otf:taml=akhn,half+) (3 = *) | >)
  60.  
  61.    ;; No vowel signs.
  62.    ("((CH)*C)(HN?)?"
  63.     < | (1 otf:taml=akhn,half+) (3 =) | >)
  64.  
  65.    ("." =))
  66.   *))
  67.  
  68. ;; Move Matra before the base consonant.
  69. (generator
  70.  (0
  71.   (cond
  72.    (" ([^ m]*)([^ m])(m)(p)? "
  73.     | (1 = *) (3 =) (2 =) (4 =) |)
  74.    ("." =))
  75.   *))
  76.  
  77. ;; Apply other OTF features.
  78. (generator
  79.  (0
  80.   (cond
  81.    (" ([^ ]+) "
  82.     (1 otf:taml=pres,abvs,blws,psts,haln+abvm,blwm,dist))
  83.    ("."
  84.     [ = ]))
  85.   *))
  86.  
  87. ;; Copyright (C) 2004, 2006, 2007
  88. ;;   National Institute of Advanced Industrial Science and Technology (AIST)
  89. ;;   Registration Number H15PRO112
  90.  
  91. ;; This file is part of the m17n database; a sub-part of the m17n
  92. ;; library.
  93.  
  94. ;; The m17n library is free software; you can redistribute it and/or
  95. ;; modify it under the terms of the GNU Lesser General Public License
  96. ;; as published by the Free Software Foundation; either version 2.1 of
  97. ;; the License, or (at your option) any later version.
  98.  
  99. ;; The m17n library is distributed in the hope that it will be useful,
  100. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  101. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  102. ;; Lesser General Public License for more details.
  103.  
  104. ;; You should have received a copy of the GNU Lesser General Public
  105. ;; License along with the m17n library; if not, write to the Free
  106. ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  107. ;; Boston, MA 02110-1301, USA.
  108.  
  109. ;; Local Variables:
  110. ;; mode: emacs-lisp
  111. ;; End:
  112.